home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tools / vim / src / makefile.sas < prev    next >
Makefile  |  1995-03-09  |  9KB  |  300 lines

  1. #
  2. # Makefile for VIM on the Amiga, using SAS/Lattice C 6.0 to 6.3
  3. #
  4. # Do NOT use the peephole optimizer! It messes up all kinds of things.
  5. # For 6.0 and 6.1, expand_env() will not work correctly.
  6. # For 6.2 and 6.3 the call to free_line in u_freeentry is wrong.
  7. # Don't know about 6.50, might work...
  8. # You should use Manx Aztec C whenever possible.
  9. #
  10. # The prototypes from Manx and SAS are incompatible. If the prototypes
  11. # were generated by Manx, first do "touch *.c; make proto" before "make".
  12. #
  13. # Note: not all dependencies are included. This was done to avoid having
  14. #       to compile everything when a global variable or function is added
  15. #    
  16.  
  17. #>>>>> choose options:
  18. ### DEF=DIGRAPHS        digraph support (at the cost of 1.6 Kbyte code)
  19. ### DEF=NO_ARP            do not use arp.library, DOS 2.0 required
  20. ### DEF=COMPATIBLE        start in vi-compatible mode
  21. ### DEF=NOBACKUP        default is no backup file
  22. ### DEF=DEBUG            output a lot of debugging garbage
  23. ### DEF=TERMCAP            include termcap file support
  24. ### DEF=NO_BUILTIN_TCAPS    do not include builtin termcap entries
  25. ###                (use only with -DTERMCAP)
  26. ### DEF=SOME_BUILTIN_TCAPS     include most useful builtin termcap entries
  27. ###                (use only without -DNO_BUILTIN_TCAPS)
  28. ### DEF=ALL_BUILTIN_TCAPS    include all builtin termcap entries
  29. ###                (use only without -DNO_BUILTIN_TCAPS)
  30. ### DEF=WEBB_COMPLETE        include Webb's code for command line completion
  31. ### DEF=WEBB_KEYWORD_COMPL    include Webb's code for keyword completion
  32. ### DEF=NOTITLE            'title' option off by default
  33. DEFINES = DEF=DIGRAPHS DEF=SOME_BUILTIN_TCAPS \
  34.         DEF=WEBB_COMPLETE DEF=WEBB_KEYWORD_COMPL
  35.  
  36. #>>>>> if TERMCAP is defined obj/termlib.o has to be used
  37. #TERMLIB = obj/termlib.o
  38. TERMLIB = 
  39.  
  40. #>>>>> choose NODEBUG for normal compiling, the other for debugging and profiling
  41. # don't switch on debugging when generating proto files, it crashes the compiler.
  42. DBG = NODEBUG
  43. #DBG = DBG=SF
  44.  
  45. #>>>>> choose NOOPTPEEP for 6.0 to 6.3, NOOPT for debugging
  46. # when all the optimizer bugs are finally solved you can use OPT
  47. #OPTIMIZE=OPT
  48. OPTIMIZE=NOOPTPEEP
  49. #OPTIMIZE=NOOPT
  50.  
  51. #>>>>> end of choices
  52. ###########################################################################
  53.  
  54. CC = sc
  55. GST = vim.gst
  56. COPTS = SINT SCODE SDATA
  57.  
  58. CFLAGS = NOLINK $(OPTIMIZE) $(COPTS) DEF=AMIGA DEF=SASC $(DBG) $(DEFINES) GST=$(GST)
  59.  
  60. PROPT = DEF=PROTO GPROTO GPPARM
  61.  
  62. OBJ =    obj/alloc.o obj/amiga.o obj/buffer.o obj/charset.o obj/cmdcmds.o obj/cmdline.o \
  63.     obj/csearch.o obj/digraph.o obj/edit.o obj/fileio.o obj/getchar.o obj/help.o \
  64.     obj/linefunc.o obj/main.o obj/mark.o obj/memfile.o obj/memline.o obj/message.o obj/misccmds.o \
  65.     obj/normal.o obj/ops.o obj/param.o obj/quickfix.o obj/regexp.o \
  66.     obj/regsub.o obj/screen.o obj/search.o \
  67.     obj/tag.o obj/term.o obj/undo.o obj/window.o $(TERMLIB)
  68.  
  69. PRO =    proto/alloc.pro proto/buffer.pro proto/charset.pro proto/cmdcmds.pro proto/cmdline.pro \
  70.     proto/csearch.pro proto/digraph.pro proto/edit.pro proto/fileio.pro \
  71.     proto/getchar.pro proto/help.pro proto/linefunc.pro proto/main.pro proto/mark.pro \
  72.     proto/memfile.pro proto/memline.pro proto/message.pro proto/misccmds.pro proto/normal.pro proto/ops.pro \
  73.     proto/param.pro proto/quickfix.pro proto/regexp.pro proto/regsub.pro \
  74.     proto/screen.pro proto/search.pro \
  75.     proto/tag.pro proto/term.pro proto/termlib.pro \
  76.     proto/undo.pro proto/window.pro proto/amiga.pro
  77.  
  78. /Vim: $(OBJ) version.c
  79.     $(CC) $(CFLAGS) version.c OBJNAME=obj/
  80.     $(CC) LINK $(COPTS) $(OBJ) obj/version.o $(DBG) PNAME=/Vim
  81.  
  82. debug: $(OBJ) version.c
  83.     $(CC) $(CFLAGS) version.c OBJNAME=obj/
  84.     $(CC) LINK $(COPTS) $(OBJ) obj/version.o $(DBG) PNAME=/Vim
  85.  
  86. proto: $(GST) $(PRO)
  87.  
  88. ctags:
  89.     csh -c ctags *.c *.h
  90.  
  91. # can't use delete here, too many file names
  92. clean:
  93.     csh -c rm -f $(OBJ) obj/version.o obj/mkcmdtab.o /Vim $(GST) mkcmdtab cmdtab.h
  94.  
  95. $(GST)  : vim.h keymap.h macros.h ascii.h term.h structs.h
  96.     $(CC) $(CFLAGS) MGST=$(GST) vim.h
  97.  
  98. ###########################################################################
  99.  
  100. obj/alloc.o:    alloc.c  $(GST)
  101.     $(CC) $(CFLAGS) alloc.c OBJNAME=obj/
  102.  
  103. proto/alloc.pro:    alloc.c  $(GST)
  104.     $(CC) $(CFLAGS) GPFILE=proto/alloc.pro $(PROPT) alloc.c
  105.  
  106. obj/amiga.o:    amiga.c  $(GST)
  107.     $(CC) $(CFLAGS) amiga.c OBJNAME=obj/
  108.  
  109. proto/amiga.pro:    amiga.c $(GST)
  110.     $(CC) $(CFLAGS) GPFILE=proto/amiga.pro $(PROPT) amiga.c
  111.  
  112. obj/buffer.o:    buffer.c  $(GST)
  113.     $(CC) $(CFLAGS) buffer.c OBJNAME=obj/
  114.  
  115. proto/buffer.pro:    buffer.c $(GST)
  116.     $(CC) $(CFLAGS) GPFILE=proto/buffer.pro $(PROPT) buffer.c
  117.  
  118. obj/charset.o:    charset.c  $(GST)
  119.     $(CC) $(CFLAGS) charset.c OBJNAME=obj/
  120.  
  121. proto/charset.pro:    charset.c $(GST)
  122.     $(CC) $(CFLAGS) GPFILE=proto/charset.pro $(PROPT) charset.c
  123.  
  124. obj/cmdcmds.o:    cmdcmds.c  $(GST)
  125.     $(CC) $(CFLAGS) cmdcmds.c OBJNAME=obj/
  126.  
  127. proto/cmdcmds.pro:    cmdcmds.c $(GST)
  128.     $(CC) $(CFLAGS) GPFILE=proto/cmdcmds.pro $(PROPT) cmdcmds.c
  129.  
  130. obj/cmdline.o:    cmdline.c  $(GST) cmdtab.h
  131.     $(CC) $(CFLAGS) cmdline.c OBJNAME=obj/
  132.  
  133. proto/cmdline.pro:    cmdline.c $(GST) cmdtab.h
  134.     $(CC) $(CFLAGS) GPFILE=proto/cmdline.pro $(PROPT) cmdline.c
  135.  
  136. obj/csearch.o:    csearch.c  $(GST)
  137.     $(CC) $(CFLAGS) csearch.c OBJNAME=obj/
  138.  
  139. proto/csearch.pro:    csearch.c $(GST)
  140.     $(CC) $(CFLAGS) GPFILE=proto/csearch.pro $(PROPT) csearch.c
  141.  
  142. obj/digraph.o:    digraph.c  $(GST)
  143.     $(CC) $(CFLAGS) digraph.c OBJNAME=obj/
  144.  
  145. proto/digraph.pro:    digraph.c $(GST)
  146.     $(CC) $(CFLAGS) GPFILE=proto/digraph.pro $(PROPT) digraph.c
  147.  
  148. obj/edit.o:    edit.c  $(GST)
  149.     $(CC) $(CFLAGS) edit.c OBJNAME=obj/
  150.  
  151. proto/edit.pro:    edit.c $(GST)
  152.     $(CC) $(CFLAGS) GPFILE=proto/edit.pro $(PROPT) edit.c
  153.  
  154. obj/fileio.o:    fileio.c  $(GST)
  155.     $(CC) $(CFLAGS) fileio.c OBJNAME=obj/
  156.  
  157. proto/fileio.pro:    fileio.c $(GST)
  158.     $(CC) $(CFLAGS) GPFILE=proto/fileio.pro $(PROPT) fileio.c
  159.  
  160. obj/getchar.o:    getchar.c  $(GST)
  161.     $(CC) $(CFLAGS) getchar.c OBJNAME=obj/
  162.  
  163. proto/getchar.pro:    getchar.c $(GST)
  164.     $(CC) $(CFLAGS) GPFILE=proto/getchar.pro $(PROPT) getchar.c
  165.  
  166. obj/help.o:    help.c  $(GST)
  167.     $(CC) $(CFLAGS) help.c OBJNAME=obj/
  168.  
  169. proto/help.pro:    help.c $(GST)
  170.     $(CC) $(CFLAGS) GPFILE=proto/help.pro $(PROPT) help.c
  171.  
  172. obj/linefunc.o:    linefunc.c  $(GST)
  173.     $(CC) $(CFLAGS) linefunc.c OBJNAME=obj/
  174.  
  175. proto/linefunc.pro:    linefunc.c $(GST)
  176.     $(CC) $(CFLAGS) GPFILE=proto/linefunc.pro $(PROPT) linefunc.c
  177.  
  178. obj/main.o:    main.c  $(GST)
  179.     $(CC) $(CFLAGS) main.c OBJNAME=obj/
  180.  
  181. proto/main.pro:    main.c $(GST)
  182.     $(CC) $(CFLAGS) GPFILE=proto/main.pro $(PROPT) main.c
  183.  
  184. obj/mark.o:    mark.c  $(GST)
  185.     $(CC) $(CFLAGS) mark.c OBJNAME=obj/
  186.  
  187. proto/mark.pro:    mark.c $(GST)
  188.     $(CC) $(CFLAGS) GPFILE=proto/mark.pro $(PROPT) mark.c
  189.  
  190. obj/memfile.o:    memfile.c  $(GST)
  191.     $(CC) $(CFLAGS) memfile.c OBJNAME=obj/
  192.  
  193. proto/memfile.pro:    memfile.c $(GST)
  194.     $(CC) $(CFLAGS) GPFILE=proto/memfile.pro $(PROPT) memfile.c
  195.  
  196. obj/memline.o:    memline.c  $(GST)
  197.     $(CC) $(CFLAGS) memline.c OBJNAME=obj/
  198.  
  199. proto/memline.pro:    memline.c $(GST)
  200.     $(CC) $(CFLAGS) GPFILE=proto/memline.pro $(PROPT) memline.c
  201.  
  202. obj/message.o:    message.c  $(GST)
  203.     $(CC) $(CFLAGS) message.c OBJNAME=obj/
  204.  
  205. proto/message.pro:    message.c $(GST)
  206.     $(CC) $(CFLAGS) GPFILE=proto/message.pro $(PROPT) message.c
  207.  
  208. obj/misccmds.o:    misccmds.c  $(GST)
  209.     $(CC) $(CFLAGS) misccmds.c OBJNAME=obj/
  210.  
  211. proto/misccmds.pro:    misccmds.c $(GST)
  212.     $(CC) $(CFLAGS) GPFILE=proto/misccmds.pro $(PROPT) misccmds.c
  213.  
  214. obj/normal.o:    normal.c  $(GST) ops.h
  215.     $(CC) $(CFLAGS) normal.c OBJNAME=obj/
  216.  
  217. proto/normal.pro:    normal.c $(GST)
  218.     $(CC) $(CFLAGS) GPFILE=proto/normal.pro $(PROPT) normal.c
  219.  
  220. obj/ops.o:    ops.c  $(GST) ops.h
  221.     $(CC) $(CFLAGS) ops.c OBJNAME=obj/
  222.  
  223. proto/ops.pro:    ops.c $(GST)
  224.     $(CC) $(CFLAGS) GPFILE=proto/ops.pro $(PROPT) ops.c
  225.  
  226. obj/param.o:    param.c  $(GST)
  227.     $(CC) $(CFLAGS) param.c OBJNAME=obj/
  228.  
  229. proto/param.pro:    param.c $(GST)
  230.     $(CC) $(CFLAGS) GPFILE=proto/param.pro $(PROPT) param.c
  231.  
  232. obj/quickfix.o:    quickfix.c  $(GST)
  233.     $(CC) $(CFLAGS) quickfix.c OBJNAME=obj/
  234.  
  235. proto/quickfix.pro:    quickfix.c $(GST)
  236.     $(CC) $(CFLAGS) GPFILE=proto/quickfix.pro $(PROPT) quickfix.c
  237.  
  238. obj/regexp.o:    regexp.c  $(GST)
  239.     $(CC) $(CFLAGS) regexp.c OBJNAME=obj/
  240.  
  241. proto/regexp.pro:    regexp.c $(GST)
  242.     $(CC) $(CFLAGS) GPFILE=proto/regexp.pro $(PROPT) regexp.c
  243.  
  244. obj/regsub.o:    regsub.c  $(GST)
  245.     $(CC) $(CFLAGS) regsub.c OBJNAME=obj/
  246.  
  247. proto/regsub.pro:    regsub.c $(GST)
  248.     $(CC) $(CFLAGS) GPFILE=proto/regsub.pro $(PROPT) regsub.c
  249.  
  250. obj/screen.o:    screen.c  $(GST)
  251.     $(CC) $(CFLAGS) screen.c OBJNAME=obj/
  252.  
  253. proto/screen.pro:    screen.c $(GST)
  254.     $(CC) $(CFLAGS) GPFILE=proto/screen.pro $(PROPT) screen.c
  255.  
  256. obj/search.o:    search.c  $(GST)
  257.     $(CC) $(CFLAGS) search.c OBJNAME=obj/
  258.  
  259. proto/search.pro:    search.c $(GST)
  260.     $(CC) $(CFLAGS) GPFILE=proto/search.pro $(PROPT) search.c
  261.  
  262. obj/tag.o:    tag.c  $(GST)
  263.     $(CC) $(CFLAGS) tag.c OBJNAME=obj/
  264.  
  265. proto/tag.pro:    tag.c $(GST)
  266.     $(CC) $(CFLAGS) GPFILE=proto/tag.pro $(PROPT) tag.c
  267.  
  268. obj/term.o:    term.c  $(GST)
  269.     $(CC) $(CFLAGS) term.c OBJNAME=obj/
  270.  
  271. proto/term.pro:    term.c $(GST)
  272.     $(CC) $(CFLAGS) GPFILE=proto/term.pro $(PROPT) term.c
  273.  
  274. obj/termlib.o:    termlib.c  $(GST)
  275.     $(CC) $(CFLAGS) termlib.c OBJNAME=obj/
  276.  
  277. proto/termlib.pro:    termlib.c $(GST)
  278.     $(CC) $(CFLAGS) GPFILE=proto/termlib.pro $(PROPT) termlib.c
  279.  
  280. obj/undo.o:    undo.c  $(GST)
  281.     $(CC) $(CFLAGS) undo.c OBJNAME=obj/
  282.  
  283. proto/undo.pro:    undo.c $(GST)
  284.     $(CC) $(CFLAGS) GPFILE=proto/undo.pro $(PROPT) undo.c
  285.  
  286. obj/window.o:    window.c  $(GST)
  287.     $(CC) $(CFLAGS) window.c OBJNAME=obj/
  288.  
  289. proto/window.pro:    window.c $(GST)
  290.     $(CC) $(CFLAGS) GPFILE=proto/window.pro $(PROPT) window.c
  291.  
  292. cmdtab.h: cmdtab.tab mkcmdtab
  293.     mkcmdtab cmdtab.tab cmdtab.h
  294.  
  295. obj/mkcmdtab.o:    mkcmdtab.c
  296.     $(CC) $(CFLAGS) mkcmdtab.c OBJNAME=obj/
  297.  
  298. mkcmdtab: obj/mkcmdtab.o
  299.     $(CC) LINK $(COPTS) obj/mkcmdtab.o PNAME=mkcmdtab
  300.